The ability to network and share resources is extremely critical for the success and prosperity of most companies. In general, a service provider, often generally referred to as an Internet Service Provider (ISP), supplies the services that are needed to allow a company to share its resources between different remote sites. For example, a company_X may have a headquarters site in Chicago and a plurality of satellite sites that are located in Miami, Seattle, Los Angeles and Dallas. To allow the different sites to communicate and share resources with each other, company_X may enter into a Service Level Agreements (SLA) with a particular Service Provider (SP) to obtain the necessary services.
A Service Level Agreement is a contract between the supplier of a service, (the SP) and the users of that service (the Customer). In general, the Service Level Agreement sets out the levels of service that will be offered, preferably in quantitative terms, and any obligations that are required by the Customer of the service. For example, a typical Service Level Agreement for a network service will typically set out the expected levels of service measured in such terms as: (1) availability; (2) latency; (3) bandwidth quality; (4) response times and other similar measures of service as seen by the end user. To be in compliance with the Service Level Agreement, the Service Provider must provide the Customer with a service quality that either meets or exceeds the quality of service that is guaranteed by the Service Level Agreement.
In today's market, Service Level Agreements have become an important marketing tool for differentiating the quality of service that is to be guaranteed on the part of a particular Service Providers. For example, by comparing the Service Level Agreement of two or more Service Providers, a Customer can quickly determine which provider is most cost effective for their needs. However, from a Customer's stand-point, the implementation and accountability of a Service Provider remains problematic.
In particular, there is a lack of available tools that a Customer may use to determine whether a Service Provider is in compliance with a Service Level Agreement. For example, one of the most popular techniques used for measuring network service levels is the ICMP ping. By “pinging” different devices within a network, it can quickly be determined which devices are able to communicate with each other. An advantage of this technique is that it provides a simple universal means for determining the basic connectivity of a network system. However, a significant drawback with using the ICMP ping is that it does not characterize the actual experiences of higher layer and application traffic. Thus, although the ICMP ping may be used to determine whether a connection exists between a pair of network devices, it cannot be used to determine service metrics such as the actual throughput or variation between packets (jitter) that is seen by the devices within the network system.
Furthermore, because these organizations have a customer/provider relationship, there are significant monetary terms that define the acceptability of the service levels. The main interest of a customer is to obtain the service levels adequate for their business. Hence a customer is motivated to monitor service levels both as a report card on the provider and as a tool to demand better service. However, because there are no standardized measurements for determining the quality of service that is provided by a Service Provider, even if a Customer could create a set of tests to determine whether they are receiving the quality of service that is guaranteed by the Service Level Agreement, the Service Provider may oppose the method or technique that were used in determining the service quality.
Based on the foregoing, there is a clear need for a mechanism that can be used to determine whether a Customer is receiving the quality of service that has been guaranteed within a Service Level Agreement.
There is also a clear need for a mechanism that can be run by the Customer to consistently generate reliable test results for which a Service Provider concedes are representative of the quality of service that is being provided to the Customer.
There is also a further need for a mechanism that can monitor the level of service that is being provided on a long-term basis and to provide feedback over an extended period of time as to the Service Provider's compliance with a Service Level Agreement.